// ----------------------------------------------GERE L'AJOUT ET LA SUPPRESSION DES LIGNES TACHES, DEPENSES ET RECETTES---------------------------------------------- //

function ajoutTache(){ //ajoute champs Tache-Echeance-Responsable
	var div = $('#for').html(); // recupere la liste déroulante
	div = div.replace("disabled=\"disabled\"", "name=\"Responsable[]\""); // si la liste déroulante est "disabled", remplace "disabled" par le name
	$('#ajoutTache').before('<tr><td></td><td><input type="text" name="TacheRealise[]" class="champ" onBlur="verifChamp(this)" onFocus="blanc(this)"/></td>'+
			'<td><input size=20 type="text" name="Echeance[]" placeholder="jj/mm/aaaa" class="calendrier"/></td>'+
			'<td>'+div+'</td>'+
			'<td class="BMoins"><input type="button" value="-" onClick="enleveLigne(this,\'tabTaches\')"/></td></tr>');
}

function ajoutDepense(){ //ajoute champs NatureDepense-BudgetDepense-Fournisseur
	$('#ajoutDepense').before('<tr><td></td><td><input type="text" name="NatureDepense[]" class="champ" onBlur="verifChamp(this)" onFocus="blanc(this)"/></td>'+
			'<td><input type="text" name="BudgetDepense[]" class="champ" onBlur="verifChamp(this)" onFocus="blanc(this)"/></td>'+
			'<td><input type="text" name="Fournisseur[]" class="champ" onBlur="verifChamp(this)" onFocus="blanc(this)" /></td>'+
			'<td class="BMoins"><input type="button" value="-" onClick="enleveLigne(this,\'tabTaches\')"/></td></tr>');
}

function ajoutRecette(){ //ajoute champs NatureRecette-BudgetRecette
		$('#ajoutRecette').before('<tr><td></td><td><input type="text" name="NatureRecette[]" class="champ" onBlur="verifChamp(this)" onFocus="blanc(this)"/>'+
				'</td><td><input type="text" name="BudgetRecette[]" class="champ" onBlur="verifChamp(this)" onFocus="blanc(this)"/></td>'+
				'<td></td><td class="BMoins"><input type="button" value="-" onClick="enleveLigne(this,\'tabTaches\')"/></td></tr>');
}

function enleveLigne(input,id){ // supprime la ligne passée en parametre
	var ligne = input.parentNode.parentNode;
	document.getElementById(id).deleteRow(ligne.rowIndex);
}

// -----------------------------------------------------------------------VERIFICATION DES CHAMPS----------------------------------------------------------------------- //

function verifChamp(champ){ // vérifie que le champs passé en parametre n'est pas vide
	if(champ.value == "")
		champ.style.backgroundColor = "red";
}

function verifEtu(champ,nbMax){ // vérifie le nombre d'etudiant
	if(champ.value == "")
		champ.style.backgroundColor = "red";
	if($('#nbEtu').val() != '' && !$('#nbEtu').val().match(new RegExp("^[0-"+nbMax+"]$","i"))) 
	{
		$('#nbEtu').css('background','red');
		$('#erreurEtu').html('Vous devez entrer un nombre entier inférieur ou égale à la limite qui est de '+nbMax);
	}	
}

function verifEtuMax(champ){ // vérifie le nombre d'etudiant max (formulaire paramètre)
	if(champ.value == "")
		champ.style.backgroundColor = "red";
	if($('#nbEtuMax').val() != '' && !$('#nbEtuMax').val().match(/^[0-9]?[0-9]$/))
	{
		$('#nbEtuMax').css('background','red');
		$('#erreurEtuMax').html('Vous devez entrer un nombre entier');
	}	
}

function verifPoint(pointMax){ // vérifie le nombre de point
	if($('#nbPoint').val() != '' && !$('#nbPoint').val().match(new RegExp("^0.[0-3](0|5)?$|^"+pointMax+"$","i"))) 
	{
		$('#nbPoint').css('background','red');
		$('#erreurPoint').html('Le nombre de point doit être inférieur ou égale à '+pointMax+' et doit être un multiple de 0.05');
	}
}

function verifPointMax(champ){ // vérifie le champs point max (formulaire paramètre)
	if(champ.value == "")
		champ.style.backgroundColor = "red";
	if($('#nbPointMax').val() != '' && !$('#nbPointMax').val().match(/^((1?[0-9]\.[0-9]0?))$|^((1?[0-9])|(20))$/))
	{
		$('#nbPointMax').css('background','red');
		$('#erreurPointMax').html('Le nombre de point doit être un multiple de 0.1');
	}
}

function verifTemps(nb){ // verifie les champs time
	if($('#temps'+nb).val() != '' && !$('#temps'+nb).val().match(/^(((0|1)[0-9])|(2[0-3])):([0-5][0-9])$/)) 
	{
		$('#temps'+nb).css('background','red');
		$('#erreurTemps'+nb).html('L\'heure doit être au format hh:mm');
	}
}

function verifMail(){ // verifie le champs mail (formulaire paramètre)
	if($("#mailE").val() == "")
		$('#mailE').css('background','red');
	else if(!$("#mailE").val().match(/^[a-z0-9|.|-]*@+[a-z|.|-]*\.[a-z]{2,4}$/))
	{
		$('#mailE').css('background','red');
		$('#erreurMail').html('Le format de l\'adresse mail est incorect, elle doit être de la forme exemple@domaine.fr');
	}
}

//-----------------------------------------------------------------------ENLEVE LA COULEUR ROUGE DES CHAMPS----------------------------------------------------------------------- //

function blanc(champ){
	champ.style.backgroundColor = "white";
}

function blancEtu(){
	$('#nbEtu').css('background','white');
	$('#erreurEtu').empty();
}

function blancEtuMax(){
	$('#nbEtuMax').css('background','white');
	$('#erreurEtuMax').empty();
}

function blancPoint(){
	$('#nbPoint').css('background','white');
	$('#erreurPoint').empty();
}

function blancPointMax(){
	$('#nbPointMax').css('background','white');
	$('#erreurPointMax').empty();
}

function blancTemps(nb){
	$('#temps'+nb).css('background','white');
	$('#erreurTemps'+nb).empty();
}

function blancDates(){
	if($('#erreurDate').html() != "")
	{
		$('#date').css('background','white');
		$('#erreurDate').empty();
	}
	if($('#erreurDateLimite').html() != "")
	{
		$('#dateLimite').css('background','white');
		$('#erreurDateLimite').html("");
	}
}

function blancNom(){
	$('#nom').css('background','white');
	$('#erreur').empty();
}

function blancMail(){
	$('#mailE').css('background','white');
	$('#erreurMail').empty();
}

//-----------------------------------------------------------------------VERIFIE LES FORMULAIRE----------------------------------------------------------------------- //

function verifFormulaire(){ // vérifie formulaireBilanFicheForum
	var erreur = false;
	$('.obligatoire').each(function(){ // verifie les champs obligatoires
		if($(this).val() == '' || $(this).val() == 0)
		{
			erreur = true;
			$(this).css('background','red');
		}
	});
	
	var i = 0;
	$('.erreurTemps').each(function(){ // verifie les champs times
		if($(this).val() != '')
		{
			erreur = true;
			$('#temps'+i).css('background','red');
		}
	});
	
	if(erreur)
	{
		$('#erreur').html("Des erreurs sont survenues, vérifiez vos saisies.");
		return false;
	}
	else
		return true;
}

function verifFormulaireCreation(){	// vérifie creation/modification ADC/FORUM
	var erreur = false;	
	$('.obligatoire').each(function(){ // verifie les champs obligatoires
		if($(this).val() == '')
		{
			erreur = true;
			$(this).css('background','red');
		}
	});
	
	if($('#erreurDate').html() != '') // verifie s'il y a une erreur dans la date
	{
		erreur = true;
		$('#date').css('background','red');
	}
	
	if($('#erreurDateLimite').html() != '') // verifie s'il y a une erreur dans la date limite
	{
		erreur = true;
		$('#dateLimite').css('background','red');
	}
	
	if($('#date').val() != '' && !$('#date').val().match(/^(0?[0-9]|[12][0-9]|3[01])\/(0?[0-9]|1[012])\/((?:19|20)[0-9]{2})$/)) // verifie le format de la date
	{
		$('#erreurDate').html('Format incorrecte la date doit être de la forme jj/mm/aaaa.');
		$('#date').css('background','red');
		erreur = true;
	}
	
	if($('#dateLimite').val() != '' && !$('#dateLimite').val().match(/^(0?[0-9]|[12][0-9]|3[01])\/(0?[0-9]|1[012])\/((?:19|20)[0-9]{2})$/)) // verifie le format de la date limite
	{
		$('#erreurDateLimite').html('Format incorrecte la date doit être de la forme jj/mm/aaaa.');
		$('#dateLimite').css('background','red');
		erreur = true;
	}	

	if(document.getElementById('erreurEtu') && $('#erreurEtu').html() != '') // verifie le nombre d'etudiant (que pour ADC)
	{
		erreur = true;
	}	
	
	if(document.getElementById('erreurTemps1') && $('#erreurTemps1').html() != '') // verifie l'heure de début (que pour FORUM)
	{
		erreur = true;
	}	
	
	if(document.getElementById('erreurTemps2') && $('#erreurTemps2').html() != '') // verifie l'heure de fin (que pour FORUM)
	{
		erreur = true;
	}	

	if($('#erreurPoint').html() != '') // verifie le nombre de point
	{
		erreur = true;
	}
	
	if(erreur)
	{
		$('#erreur').html("Des erreurs sont survenues, vérifiez vos saisies.");
		return false;
	}
	else
		return true;
}

function verifFormulaireProposition(){
	var erreur = false;	
	$('.obligatoire').each(function(){ // verifie les champs obligatoires
		if($(this).val() == '')
		{
			erreur = true;
			$(this).css('background','red');
		}
	});
	
	if($('#erreurDate').html() != '') // verifie s'il y a une erreur dans la date
	{
		erreur = true;
		$('#date').css('background','red');
	}
	
	if($('#date').val() != "" && !$('#date').val().match("!^(0?\d|[12]\d|3[01])/(0?\d|1[012])/((?:19|20)\d{2})$!")) // verifie le format de la date
	{
		$('#erreurDate').html("Format incorrecte la date doit être de la forme jj/mm/aaaa.");
		$('#date').css('background','red');
		erreur = true;
	}
	
	if($('#dateLimite').val() != "" && !$('#dateLimite').val().match("!^(0?\d|[12]\d|3[01])/(0?\d|1[012])/((?:19|20)\d{2})$!")) // verifie le format de la date limite
	{
		$('#erreurDateLimite').html("Format incorrecte la date doit être de la forme jj/mm/aaaa.");
		$('#dateLimite').css('background','red');
		erreur = true;
	}
	
	if(erreur)
	{
		$('#erreur').html("Des erreurs sont survenues, vérifiez vos saisies.");
		return false;
	}
	else
		return true;
}

function verifFormulaireTheme(){
	if($('#nom').val() == '') // vérifie que le champ nom est remplie
	{
		$('#nom').css('background','red');
		$('#erreur').html('Vous devez remplir le nom du thème');
		return false;
	}
	else
		return true;
	
}

function verifFormulaireEnseignant(){ // vérifie le formulaire AjoutEnseignant
	var erreur = false;
	$('.obligatoire').each(function(){ // verifie les champs obligatoires
		if($(this).val() == '')
		{
			erreur = true;
			$(this).css('background','red');
		}
	});
	
	if($("#erreurMail").html() != "") // vérifie le mail
	{
		erreur = true;
	}
	
	if(erreur)
	{
		$('#erreur').html("Vous devez remplir tout les champs");
		return false;
	}
	else
		return true;
	
}